#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <stdlib.h>


int main()
{
    while (1)
    {
        printf("hello world, pid: %d\n", getpid());
        sleep(1);
    }
    return 0;
}

//void worker()
//{
//    int cnt = 20;
//    while (cnt)
//    {
//        printf("pid: %d, cnt: %d\n", getpid(), cnt--);
//        sleep(1);
//    }
//}
//
//int main()
//{
//    for (int i = 0; i < 20; i++)
//    {
//        pid_t id = fork();
//
//        if (id < 0) break;
//        if (id == 0) 
//        {
//            // 子进程
//            worker();
//            exit(0);
//        }
//        // 父进程
//        printf("fork success, the child process id is %d\n", id);
//        sleep(2);
//    }
//    // 父进程
//    sleep(2);
//
//    return 0;
//}

//const int num = 10;
//
//void work()
//{
//    int x = 20;
//    while (x)
//    {
//        printf("child process id:%d, times:%d\n", getpid(), x--);
//        sleep(1);
//    }
//}
//
//int main()
//{
//    for (int i = 0; i < num; i++)
//    {
//        pid_t id = fork();
//        if (id < 0) break;
//        if (id == 0) // 子进程
//        {
//            work();
//            exit(0);
//        }
//        printf("make child success, process id: %d\n", id);
//        // 父进程
//        sleep(2);
//    }
//    return 0;
//}


//int main()
//{
//    printf("fork 之前, pid: %d, ppid: %d\n", getpid(), getppid());
//
//   pid_t id = fork();
//   if (id < 0) 
//   {
//       printf("fork 失败\n");
//   }
//   else if (id == 0)
//   {
//       while (1)
//       {
//           printf("fork 之后, 这里是子进程, pid: %d, ppid: %d, id: %d\n", getpid(), getppid(), id);
//           sleep(2);
//
//       
//       }
//   }
//   else 
//   {
//       while (1)
//       {
//
//       printf("fork 之后, 这里是父进程, pid: %d, ppid: %d, id: %d\n", getpid(), getppid(), id);
//       sleep(2);
//       }
//   }
//    return 0;
//}
//
//


//int main()
//{
//    printf("I am a process, pid: %d\n", getpid());
//    printf("更改工作目录之前!\n");
//    sleep(20);
//    printf("更改工作目录之后!\n");
//    chdir("./temp"); 
//    FILE* pf = fopen("file.txt", "w");
//    if (pf != NULL)
//        printf("新建文件完成!\n");
//
//    sleep(20);
//
//    //pid_t id = getpid();
//    //while (1)
//    //{
//    //    printf("I am a process, id: %d\n", id);
//    //    sleep(1);
//    //}
//    return 0;
//}
